package com.jlf.core.engine.persistence;

import com.jlf.core.engine.domain.SchemaIndexDO;
import com.jlf.core.mp.persistence._SimplePersistence;

import java.util.Collection;
import java.util.List;

/**
 * 模型领域的索引的持久化接口
 *
 * @author wujr
 * 2023/7/14
 * @version 1.0
 * 【变更历史】
 * [wujr 2023/7/14 1.0 新增]
 */
public interface SchemaIndexPersistence extends _SimplePersistence<SchemaIndexDO> {
    /**
     * 加载某个模型领域的索引列表
     * @param domainCode 模型领域编码
     * @return 索引列表
     */
    List<SchemaIndexDO> loadByDomain(String domainCode);

    /**
     * 加载某些模型领域的索引列表
     * @param domainCodes 模型领域编码数组
     * @param status 状态
     * @return 索引列表
     */
    List<SchemaIndexDO> loadByDomains(Collection<String> domainCodes, Integer status);

    /**
     * 删除某个模型的索引
     * @param domainCode 模型编码
     */
    void removeByDomain(String domainCode);
}
